package com.xfcode.ai.config;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.NestedConfigurationProperty;
import org.springframework.stereotype.Component;

import java.util.List;
@ConfigurationProperties(prefix = "spring.ai.pit")
@Component
@Data
public class AiChatOptionProperties {
    @Value("${spring.ai.pit.api-key}")
    private String apiKey;
    private String baseUrl;
    @JsonProperty("model")
    private String model;
    @JsonProperty("max_tokens")
    private Integer maxTokens;
    @NestedConfigurationProperty
    @JsonProperty("stop")
    private List<String> stop;
    @JsonProperty("temperature")
    private Float temperature;
    @JsonProperty("top_p")
    private Float topP;
    @NestedConfigurationProperty
    @JsonProperty("tool_choice")
    private String toolChoice;
    @JsonProperty("user_id")
    private String user;
    @JsonProperty("request_id")
    private String requestId;
    @JsonProperty("do_sample")
    private Boolean doSample;
}
